package com.assets.asset.mapper;

import java.util.List;

import com.assets.asset.domain.AssetView;
import com.assets.asset.domain.TAsset;
import com.assets.common.core.domain.entity.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 资产列表Mapper接口
 *
 * @author bin
 * @date 2023-03-10
 */
public interface TAssetMapper
{
    /**
     * 查询资产列表
     *
     * @param aId 资产列表主键
     * @return 资产列表
     */
    public TAsset selectTAssetByAId(Long aId);

    /**
     * 查询资产列表列表
     *
     * @param tAsset 资产列表
     * @return 资产列表集合 为不报废
     */
    public List<TAsset> selectTAssetList(TAsset tAsset);

    /**
     * 新增资产列表
     *
     * @param tAsset 资产列表
     * @return 结果
     */
    public int insertTAsset(TAsset tAsset);

    /**
     * 修改资产列表
     *
     * @param tAsset 资产列表
     * @return 结果
     */
    public int updateTAsset(TAsset tAsset);

    /**
     * 删除资产列表
     *
     * @param aId 资产列表主键
     * @return 结果
     */
    public int deleteTAssetByAId(Long aId);

    /**
     * 批量删除资产列表
     *
     * @param aIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTAssetByAIds(Long[] aIds);


    /**
     * 转换部门，公司，使用公司的id为名称
     * @param s1
     * @return
     */
    public int updateDept(@Param("s1")String s1);

    public int updateCom(@Param("s1")String s1);

    public int updateUseCom(@Param("s1")String s1);


    public List<SysUser> selectAllUserList();

    public List<SysUser> selectAdminList();
    /**
     * 查询资产已闲置的列表列表
     * @param tAsset
     * @return
     */
    List<TAsset> selectTAssetListIdle(TAsset tAsset);

    /**
     * 查询资产在用的列表列表
     * @param tAsset
     * @return
     */
    List<TAsset> selectTAssetListUser(TAsset tAsset);

    /**
     * 获取已报废资产列表种的详细信息
     * @param assetCode
     * @return
     */
    TAsset selectTAssetByAssetCode(@Param("assetCode") String assetCode);

    /**
     * 获取已报废资产列表种的详细信息
     */
    List<AssetView> getAssetNum();
}
